
import axios from 'axios'

//baseurl: https://www.fastmock.site/mock/bf1fcb3c2e2945669c2c8d0ecb8009b8/api
/*
    正确的用户名：admin
        密码：123456
    登录接口：
        url:/login
        methods:post
        params: username&&password
    
    商品列表接口：
        url:/getGoodsList
        methods:get

    用户列表接口：
        url:/getUserList
        methods:get

    角色列表接口：
        url:/getRoleList
        methods:get

    权限列表接口：
        url:/getAuthorityList
        methods:get
*/
// 创建axios实例
const service =axios.create({
    baseURL: "https://www.fastmock.site/mock/bf1fcb3c2e2945669c2c8d0ecb8009b8/api",
    timeout: 5000,
    headers:{
        "Content-Type": 'application/json;charset=utf-8'
    }
})

// 请求拦截
service.interceptors.request.use((config)=>{
    // 这一步的目的是 若 config对象若没有headers属性，则给它赋值一个对象属性。否则ts会报错
    config.headers = config.headers || {}
    if(localStorage.getItem('token')){
        config.headers.token = localStorage.getItem('token') || ''
    }
    return config
})

// 响应拦截
service.interceptors.response.use((res)=>{
    const code:number = res.data.data.code || res.data.code
    // console.log(res)
    if(code!=200){
        return Promise.reject(res.data)
    }else{
        return res.data
    }
    
}, (err)=>{
    console.log("请求失败!")
    console.log(err)
})

export default service